/**
 * Bean缓冲类,描述具体的示例
 */
class BeanDefinition {

    /**
     * 源对象
     * @private
     */
    private _target: any;

    /**
     * 对象实例
     * @private
     */
    private _instance: Object;

    /**
     * 默认导出模块
     * @private
     */
    private _defaultModule: any;

    /**
     * 对象所在路径
     * @private
     */
    private _path: string;

    /**
     * 待注入的属性
     * @private
     */
    private _injectProperty: Array<Map<string, string>>;

    /**
     * 实例作用域
     * @private
     */
    private _scope: string;


    public getTarget(): any {
        return this._target;
    }

    public setTarget(value: any) {
        this._target = value;
    }

    public getInstance(): Object {
        return this._instance;
    }

    public setInstance(value: Object) {
        this._instance = value;
    }

    public getDefaultModule(): any {
        return this._defaultModule;
    }

    public setDefaultModule(value: any) {
        this._defaultModule = value;
    }

    public getPath(): string {
        return this._path;
    }

    public setPath(value: string) {
        this._path = value;
    }

    public getInjectProperty(): Array<Map<string, string>> {
        return this._injectProperty;
    }

    public setInjectProperty(value: Array<Map<string, string>>) {
        this._injectProperty = value;
    }

    public getScope(): string {
        return this._scope;
    }

    public setScope(value: string) {
        this._scope = value;
    }
}

export default BeanDefinition;